AutoVue's Hyperlinking Feature

Introduction:

Cimmetry Systems Inc. (CSI) is very excited to introduce the Hyperlinking feature of AutoVue.

Hyperlinking is a method of linking information in an intelligent manner. For example, CAD drawings can be attached or linked to their original scanned blueprints, cost spreadsheets, parts databases, or instructions word processor files.

AutoVue's Markup module provides the user with the ability to add Hyperlinks (Hot Spots) to documents. Each Hyperlink has an action attached to it, such as displaying an attached document, launching an external application, executing an AutoVue script, executing DDE commands to a predefined server, or linking to a custom DLL provided by the user.

The Hyperlinking capabilities of AutoVue are available through a user friendly interface or through DDE and DLL commands for software integration.

How to Hyperlink

The hyperlinking features of AutoVue are available in the Professional Edition of AutoVue and can be accessed from the Markup mode.

Establishing a Hyperlink

Choose Establish from the Hyperlink menu or select the Hyperlink icon. Then, click the mouse at the location where you want your Hyperlink. AutoVue activates a dialog box.

Give the link a meaningful name and select the type of link that you are creating. The Browse button allows you to select a file or application from your disk. If you enter the link manually, make sure to include the path to a File, Application, or Script. Enter a description of the link, and when your link is properly configured, choose OK. Then your link is ready to fire.

File: when the link is activated, the desired file will be displayed.

Application: links to an external program with any command line options the user might want to specify.

Script: runs an AutoVue script file allowing you to automate complex activiites.

DDE Server: causes AutoVue to act as a DDE Client application to a DDE Server.

DLL: makes AutoVue send an information structure to a customized DLL entry function.

Link Configuration

Three of the above types of links require special configurations: Application, DDE Server, and DLL links. A description of each one follows.

The Link to Application dialog box has a Command Line field which takes the command line arguments for the application. Don't include the application name on this line, unless it is a required argument. AutoVue passes the name of the file being viewed to the application at the end of the command line.

Each DDE Server has a Topic and DDE commands which are specific to it. This information should be available in the documentation for the DDE Server you wish to call. AutoVue, for example, has a server name of AvwinServer and the topic of System. It is possible to have AutoVue call itself through a DDE Hyperlink, thereby enabling the seamless integration of a DDE action script through the Hyperlink interface. Other programs can also call AutoVue using the DDE interface. This is very useful in order to integrate AutoVue to different environments, more information on this topic is available in the accompanying file.

The DLL hyperlink allows you to access a DLL entry function. To create a DLL entry function requires programming in the Windows environment. The specifications for the creation of this function come at the end of this document. With DLL functions you can send information to custom programs.

Editing Hyperlinks

It is possible to edit a Hyperlink by choosing Edit from the Hyperlink menu and clicking on the Hyperlink that you want to modify. This activates the Establish Hyperlink dialog box, where you can modify any of the information that was used in creating the Hyperlink.

Firing Hyperlinks

Activate your Hyperlink by choosing the Fire option from the Hyperlink menu. If your link is to another file you will enter the Hyperlinked mode of AutoVue which can be recognized by the addition of a Back option to the main File menu, as well as the History and Back options to the Markup mode Hyperlink menu.

Breaking a Hyperlink

Break your Hyperlink by choosing the Break option from the Hyperlink menu. It will be deleted from the Markup. Before the deletion takes place you will be prompted for confirmation by a dialog box. Select Yes if you are sure, otherwise select No.

Listing Hyperlinks

A list of Hyperlinks for the current Markup file is available from the Hyperlink menu option List. It shows the layer for each Hyperlink and the status of the Layer.

The Hyperlink History

A list of Hyperlinks that have been fired in order to bring you to your current position is available from the History option on the Hyperlink menu.

Go Back

The Go Back option will return you to Markup mode with the initial file from which you launched your Hyperlink journey still loaded.

Hyperlinking to DLLs

In order to Hyperlink to a DLL it is necessary that the DLL have an entry function defined. The name of the entry function is entered into the Entry Function field of the Link to DLL dialog box. AutoVue passes this function the filenames of the currently active viewing file, the Markup file name, and a pointer to the PAN_CtlRange structure. The entry function's prototype takes the following form:

void PASCAL fn(LPSCSTR BaseFileName, LPCSTR MarkupFileName, PAN_CtlRange FAR* ptr);

The third argument is a pointer to the following structure:

struct PAN_CtlRange

{

int type;

Word page;

union

{	// this is type 0

struct{

// World coordinates range in pixels

int x;

int y;

int width;

int height;

}raster;

// this is type 1

struct{

// World coordinates in arbitrary units

double x;

double y;

double z;

double width;

double height;

double depth;

}vector;

// this is type 2

struct{

// character offsets from beginning of file

DWord startOffset;

DWord endOffset;

}document;

// this is type 3

struct{

// Top, left, bottom, and right cell coordinates

DWord topRecord;

DWord leftField;

DWord bottomRecord;

DWord rightField

}database;

// this is type 4

struct{

// Top, left, bottom, and right cell coordinates

DWord topRow;

DWord leftCol;

DWord bottomRow;

DWord rightCol;

}spreadsheet;

// this is type 5

struct{

// Start and end file entries

DWord startentry;

DWord endEntry;

}archive;

}u; // end union

};